package com.intramirror.wd.spi;

import com.intramirror.wd.common.bean.R;
import com.intramirror.wd.model.test.Person;
import com.intramirror.wd.model.test.TestBean;
import com.intramirror.wd.spi.constant.ApiProviderPathConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.Map;



/**
 *
 * feign的客户端用于自己团队使用
 *  运行环境profile、version的数据存放在xdiamond的配置中心，保证相同环境下拉到的配置文件是一致的
 *
 * 命名规则以以下方式为准
 *
 *
 * rest 请求服务端的url path可以注入placeholder的数据
 * ApiProviderPathConstant这个类用于服务端和客户端的请求路径一致，修改时两边能统一变更
 * */
@FeignClient(  name = "${profile}-${wd.serviceName}"
//        fallback = MsdemoHelloWorldClientFallback.class
)
public interface TestInterface {

    @RequestMapping("/${wd.serviceVersion}/${wd.serviceName}/"+ApiProviderPathConstant.SERVICE_TEST_NAME+"/"+ApiProviderPathConstant.SERVICE_TEST_METHOD_HELLO)
    R<Person> helloWorld(@RequestBody TestBean testBean);

}
